import axios, { type AxiosRequestHeaders, type AxiosResponse } from 'axios'
// 网易严选API
// 配置新建一个 axios 实例
const request = axios.create({
  baseURL: import.meta.env.VITE_API_ONLINE, // 本地配置
  timeout: 50000
})

// 添加请求拦截器
request.interceptors.request.use((config) => {
  let token = localStorage.getItem('token_key')
  if (token) {
    (config.headers as AxiosRequestHeaders).token = token
  }
  return config
})

// 添加响应拦截器
request.interceptors.response.use(
  /* 约束一下response */
  async (response: AxiosResponse<any>) => {
    // 对响应数据做点什么
    const res = response.data
    if (response.status !== 200) {
      /* 成功数据的code值为20000/200 */
      // 统一的错误提示

      return new Promise(() => { })
    } else {
      return res.data /* 返回成功响应数据中的data属性数据 */
    }
  },
  (error) => {
    return new Promise(() => { })
  }
)

export default request

